This disclosure relates generally to business process management and case management in a data processing system and more specifically to correlating artifacts defined and instantiated in a versioned domain to an un-versioned domain in the data processing system.
Organizations produce content, or information, and often do this through some type of process, in which the process is formally defined and executed by a system, or implicit through human interactions between employees and with clients and/or partners. Content and processes are key to a business of an organization therefore software systems are used to formalize these processes as well as enable the cataloging and collection of information vital to the operation of an organization.
Therefore, there is a requirement to architect the process and data definitions to enable use in building applications, both internal and external, required for the organization to conduct business successfully. This is not only true for documentation and processes, but also any type of artifact, or metadata, that defines what constitutes core concepts of the organization. There are two choices on how metadata is captured in software systems: versioned and un-versioned.
The versioned approach captures a relationship and chronology, or evolution, of a particular artifact. This approach is useful when each particular version is important to the operation of the system and must be accessible independent of other variations of the same metadata (i.e. versions). Processes are an example. These processes generally define well-structured flows, or relationship between activities. Processes are also often short lived and multiple instances of the same process may be executed concurrently. As a result, the respective definition may benefit from a versioned approach enabling multiple instances to continue to execute without the risk of failing due to an unexpected or incompatible change. At the same time, new versions can improve the process and allow new instances to immediately benefit from the improvement without the risk of affecting instances already in progress. For example, the process that deals with an insurance claim may evolve over time. As the new version is defined, the new version can be rolled out while instances of the older versions continue to run to completion. The versioned approach allows for this flexibility.
The un-versioned approach basically states there is only one version of the metadata, and that version of the metadata evolves over time. Content, or information, may be better suited to this approach. A document, once created, will typically be long lived. For example, an insurance policy definition may only include a few attributes when first defined, but as the business of the insurance company grows a need to enhance the information captured by the policy occurs while, at the same time, older policies must remain accessible and processed by newer systems that work with the old policies. Unlike process definitions, document definitions typically benefit from a single version that continues to evolve with the business. This is especially true with regard to information mining. When a document definition has several versions, the document becomes harder to search for and federate instances that correlate to what is essentially a single document definition. Therefore, having only one document definition be a common link between all documents in the system is an important attribute.
Depending upon the nature of the concept, there will be limitations with either approach for some aspect of what is being defined. Consider data generated by a process. The process itself, which is expected to evolve rapidly, can typically only be implemented with a versioned approach due to the speed at which the process evolves and an associated requirement to maintain several instances running concurrently. However, the information associated with the process, or properties, is typically better suited to use of the un-versioned approach. Using the example of the insurance claim process, documents and data may be produced that must live long after the process has completed (and several new versions of the process have already been deployed), but the information must also be searchable and relatable to the single claims process that created the information. In general terms, this can be thought of as two sides of the same coin. Metadata of an organization might, in some instance, need to behave or be accessed as versioned (the process to resolve a claim) and, in other cases, as un-versioned (the data associated with the claim in progress or resolved).